Match Quest Record

#match_quest #game_design

通用框架

Qt 的 QGraphicsView / QGraphicsScene / QGraphicsItem 提供了一层十分好的结构关系,即摄像头 / 场景 / 物体,没有比这三者更适合来搭建核心框架的了。QGraphicsScene 提供了一个无限大的逻辑平面,可以在其中添加 QGraphicsItem,通过 addItem,removeItem。QGraphicsView 可以绑定到一个 QGraphicsScene 并指定显示一块矩形区域(内部逻辑是检测 QGraphicsScene 内这一块区域内的 QGraphicsItem 并调用其 paint)。QGraphicsScene 提供了一套 QGraphicsItem 的树结构关系(不清楚是否基于 QObject 的树结构关系),一个特性是当 parent 被移出场景时 child 也会被移除。

一些核心想法与思考(乱序):

特化机制

To be continued。


[^1]:参见 10.19 日寄中对 C++ 成员访问权限限制机制的缺点的讨论